<?php
/**
 * Created by PhpStorm.
 * User: 图图
 * Date: 2021-5-11
 * Time: 9:11
 */

namespace app\manage\admin;
use app\admin\controller\Admin;
use app\common\builder\ZBuilder;
use app\common\model\Goods as Goods_Model;
use app\common\model\ProductStockLog as Store_Log_Model;
use think\Db;

/**
 * 库存管理
 * Class ProductStockLog
 * @package app\manage\admin
 */
class GoodsStoreLog extends Admin
{

    //公告列表
    public function index(){
        // 读取数据
        $map = $this->getMap();
        // 排序
        $order = $this->getOrder();
        // 数据列表
        $data_list = Store_Log_Model::alias('s')
            ->leftJoin('dp_qt_goods g','g.id=s.product_id')
            ->leftJoin('dp_qt_goods_category c','c.id=g.goods_category_id')
            ->field('s.*,c.name as category_name,g.name')
            ->where($map)
            ->order($order)->paginate()->each(function ($item){
                $item['acter_name'] =  Db::name('qt_users')->where('id',$item['acter'])->value('real_name');
                return $item;
            });
        // 分页数据
        $page = $data_list->render();

        $goods_list = Goods_Model::column('id,name');
//        $btn_edit = [
//            'title' => '修改商品分类',
//            'icon' => 'fa fa-fw fa-pencil',
//            'class' => 'btn btn-info btn-sm',
//            'href' => url('edit', ['id' => '__id__']),
//        ];
        //设置页面
        return ZBuilder::make('table')
            ->addColumn('id', '编号', 'text')
            ->addColumn('name', '商品名称', 'text')
            ->addColumn('category_name', '分类', 'text')
            ->addColumn('before', '变更前数量', 'text')
            ->addColumn('amount', '变更数量', 'text')
            ->addColumn('after', '变更后数量', 'text')
            ->addColumn('type', '变更类型', 'status','',['1'=>'出库:danger','2'=>'入库:success'])
            //来源:1=出入库，2=添加商品，3=盘点
            ->addColumn('source', '来源', 'status','',['1'=>'出入库:danger','2'=>'添加商品:success','3'=>'库存盘点:info'])
            ->addColumn('acter_name', '操作人', 'text')
            ->addColumn('create_time', '操作日期', 'datetime', '', 'Y-m-d H:i:s')
            ->setTableName('qt_goods_category_store_log')

            ->setSearchArea([
                ['daterange:6', 's.create_time', '创建时间', 'between'],
                ['select:6', 'g.id', '商品名称','','',$goods_list ],

            ])
//            ->addTopButton('add')// 添加顶部按钮
//            ->addTopButton('delete')// 添加顶部按钮
//            ->addRightButton('edit', $btn_edit)// 添加顶部按钮
            ->setPrimaryKey('id')// 设置主键名为username
            ->setPageTitle('库存记录')
            ->setRowList($data_list)// 设置表格数据
            ->setPages($page)// 设置分页数据
            ->fetch();
    }

}